package com.puzzlebazar.client.heyawake;

import com.puzzlebazar.client.main.control.State;
import com.puzzlebazar.client.puzzle.model.History;
import com.puzzlebazar.client.puzzle.model.MoveTimer;

public abstract class HeyawakeState implements State {

	protected final HeyawakeModel model;
	protected final HeyawakeView view;
	protected final HeyawakeController controller;
	protected final History history;
	protected final MoveTimer moveTimer;
	
	/**
	 * Creates an empty edition state
	 * 
	 * @param model The associated model
	 * @param view The view for the heyawake
	 * @param controller The associated controller
	 * @param history History track into which to add the moves
	 * @param moveTimer The move timer
	 */
	public HeyawakeState( HeyawakeModel model, HeyawakeView view, 
			HeyawakeController controller, History history, MoveTimer moveTimer ) {
		this.view = view;
		this.model = model;
		this.controller = controller;
		this.history = history;
		this.moveTimer = moveTimer;
	}
	
	@Override
	public boolean canEnter() {
		return true;
	}

	@Override
	public void release() {
	}
}
